<?php
defined ( 'EXEC' ) or die ();
$transacao = 'trabalhos';
if (! $auth->isMaster ()) {
	Util::info ( Config::AUTH_MESSAGE );
	return true;
}
// Importando a classes
Loader::import ( 'com.atitudeweb.SQL' );
// Exclusão de vários ou um registro
if (isset($_POST['checkdel'])) {
	if ($auth->isDelete($transacao)) {
		$sqlDel = "do\n$$\nbegin\n";
		foreach($_POST['checkdel'] as $key => $values){
			$rowAgenda = query("SELECT cd_agenda FROM tethys.tb_trabalho WHERE ci_trabalho = {$values}")->fetch();
			$sqlDel .= "DELETE FROM tethys.tb_agenda WHERE ci_agenda = {$rowAgenda['cd_agenda']}; ";
		}
		$sqlDel.=" end;\n$$";
		if (SQL::remove ( 'tethys.tb_trabalho', 'ci_trabalho', $_POST['checkdel'] )) {
			if(execute($sqlDel)){
				Util::notice ( 'Trabalho', 'Excluída com sucesso!' );
			}
		} else {
			Util::notice ( 'Trabalho', 'Houve um erro ao excluir!', 'error' );
		}
	} else {
		Util::info ( Config::AUTH_MESSAGE );
	}
}
// Alteração ou inclusão de um registro
if (isset ( $_GET ['db'] ) && isset ( $_GET ['form'] )) {
	// Declaração da Variavel
	$ci_profissional = $_POST['ci_profissional'];
	$ci_procedimento = $_POST['ci_procedimento'];
	$dt_criacao = $_POST['dt_criacao'];
	$nm_trabalho = $_POST['nm_trabalho'];
	$nr_elemento = $_POST['nr_elemento'];
	$ds_descricao = $_POST['ds_descricao'];

	if ($_GET ['form'] == 0) { // cadastro
		$ciRowTrab = query ( "select nextval('tethys.tb_trabalho_ci_trabalho_seq') as ci_trabalho;" )->fetch ();
		$ci_trabalho = $ciRowTrab ['ci_trabalho'];
		$ciRow  = query("SELECT nextval('tethys.tb_agenda_ci_agenda_seq') as ci_agenda")->fetch();
		$ci_agenda = $ciRow['ci_agenda'];

		$queryData = query("SELECT nr_horario_fim as nr_horario_inicio,
								(nr_horario_fim + '00:15:00') as nr_horario_fim
							FROM tethys.tb_agenda
							WHERE dt_agenda = '{$dt_criacao}'
							ORDER BY nr_horario_fim DESC
							LIMIT 1");
		if($queryData->rowCount() > 0){
			$rowData = $queryData->fetch();
			$nr_horario_inicio = $rowData['nr_horario_inicio'];
			$nr_horario_fim = $rowData['nr_horario_fim'];
		}else{
			$nr_horario_inicio = '08:00:00';
			$nr_horario_fim = '08:15:00';
		}

		$sql = "do\n$$\nbegin\n";
		$sql.= "INSERT INTO tethys.tb_agenda(
			            ci_agenda, cd_cliente, cd_consultorio, cd_profissional, dt_agenda,
			            nr_horario_inicio, nr_horario_fim, ds_descricao, cd_procedimento,
			            fl_status, fl_situacao)
			    VALUES ($ci_agenda, null, null, $ci_profissional,'{$dt_criacao}' ,
			            '{$nr_horario_inicio}', '{$nr_horario_fim}', '{$ds_descricao}', $ci_procedimento,
			            0, true);";
		$sql.= "INSERT INTO tethys.tb_trabalho(
					ci_trabalho, cd_profissional, cd_procedimento, dt_criacao, nm_trabalho,
					nr_elemento, ds_descricao, cd_agenda)
				VALUES (
					$ci_trabalho, $ci_profissional, $ci_procedimento, '{$dt_criacao}', '{$nm_trabalho}',
					$nr_elemento, '{$ds_descricao}', $ci_agenda);";
		$sql.=" end;\n$$";
	} elseif ($_GET ['form'] > 0) { // alteração
		$sql = "UPDATE tethys.tb_trabalho SET cd_profissional=$ci_profissional, cd_procedimento=$ci_procedimento, dt_criacao='{$dt_criacao}',
				  nm_trabalho='{$nm_trabalho}', nr_elemento=$nr_elemento, ds_descricao='{$ds_descricao}'
				 WHERE ci_trabalho = ".$_GET['form'];
	}
	//echo $sql; die;
	if (execute ( $sql )) {
		Controller::setInfo( 'Trabalho', 'Salvo com sucesso!' );
		Controller::redirect(Util::setLink(array('form=null','db=null')));
	} else {
		Util::notice('Trabalho', 'Ocorreu um erro!', 'error');
	}
}
if (isset ( $_GET ['form'] )) { // Formulário para adição ou alteração de registro

	if ($_GET ['form'] == 0) {
		if (! $auth->isMaster ()) {
			Util::info ( Config::AUTH_MESSAGE );
			return true;
		}
	} else {
		if (! $auth->isMaster ()) {
			Util::info ( Config::AUTH_MESSAGE );
			return true;
		}
		@$rowEdit = query ( "SELECT ci_trabalho, cd_profissional, cd_procedimento, to_char(dt_criacao, 'DD/MM/YYYY') as dt_criacao, nm_trabalho, 
								   nr_elemento, ds_descricao, cd_agenda
							FROM tethys.tb_trabalho
							WHERE ci_trabalho = " . $_GET ['form'] )->fetch ();
	}
} else { // Consulta no banco para listagem dos registros
	$where = '';
	if (@$_POST ['search1']) {
		$term = $_POST ['search1'];
		$where .= "and cd_profissional = {$term}";
	}
	if (@$_POST ['search2']) {
		$term = $_POST ['search2'];
		$where .= "and cd_procedimento = {$term}";
	}
	if (@$_POST ['search3']) {
		$term = $_POST ['search3'];
		$where .= "and dt_criacao = '{$term}'";
	}
	$sql = "SELECT ci_trabalho,
			cd_profissional,
			cd_procedimento,
			to_char(dt_criacao, 'DD/MM/YYYY') as dt_criacao,
			nm_trabalho,
			nr_elemento,
			ds_descricao,
			nm_procedimento,
			nm_profissional
	FROM tethys.tb_trabalho t
  	INNER JOIN tethys.tb_profissionais p ON p.ci_profissional = t.cd_profissional
  	INNER JOIN tethys.tb_procedimentos pd ON pd.ci_procedimento = t.cd_procedimento
  	WHERE 1 = 1 $where
	LIMIT {$limitPagina} OFFSET " . (($p - 1) * $limitPagina);
	$query = query ( $sql );
	$sqlNum = "select count(*) as num FROM tethys.tb_trabalho t
	INNER JOIN tethys.tb_profissionais p ON p.ci_profissional = t.cd_profissional
  	INNER JOIN tethys.tb_procedimentos pd ON pd.ci_procedimento = t.cd_procedimento
	WHERE 1=1 $where";
	$rowNum = query ( $sqlNum )->fetch ();
	$registros = $rowNum ['num'];
	$paginacao = Util::pagination ( $registros, 2 );

	//echo $sql;
}

//Consulta de Protético.
$queryProtetico = query("SELECT ci_profissional, nm_profissional FROM tethys.tb_profissionais WHERE fl_ativo = '1';");

//Consulta de Tipo.
$queryTipo = query("SELECT ci_procedimento, nm_procedimento, fl_ativa FROM tethys.tb_procedimentos WHERE fl_ativa = true;;");

?>
<div id="container">
	<!-- NOME DO MÓDULO E FORMULÁRIO DE PESQUISA -->
	<table class="actiontable">
		<tr>
			<td width="40"><img src="assets/transacoes.png" /></td>
			<td><span class="actiontitle">Trabalhos </span>
				<span class="actionview"> - <?php echo (!isset($_GET['form']) ? 'Pesquisa' : (@$_GET['form'] > 0 ? 'Edição' : 'Cadastro')); ?>
				</span></td>
			<?php if(!isset($_GET['form'])){ ?>
				<td align="right">
				<button id="btAdd" class="btn btn-success btn-sm">
					<span class="glyphicon glyphicon-plus-sign"></span> Novo
				</button>
			</td>
			<?php } else{ ?>
				<td align="right">
				<button id="btVoltar" class="btn btn-success btn-sm"
					onclick="window.location='?page=acompanhamento/trabalhos';">
					<span class="glyphicon glyphicon-chevron-left"></span> Voltar
				</button>
			</td>
			<?php } ?>
		</tr>
	</table>
    <?php if(!isset($_GET['form'])){ ?>
	<form action="<?php echo Util::setLink(array('p=null')); ?>"
		method="post" class="form-horizontal">
		<div class="form-group">
			<label class="control-label col-sm-2">Trabalho:</label>
			<div class="col-sm-5">
				<select	style="width: 252px;" class="form-control" id="search1" name="search1">
					<option value="0">SELECIONE O PROTÉTICO</option>
					<?php
						while ( $row = $queryProtetico->fetch () ) {
							echo '<option value="' . $row ['ci_profissional'] . '">' . $row ['nm_profissional'] . '</option>';
						}
					?>
				</select>
			</div>
		</div>
		<div class="form-group">
			<label class="control-label col-sm-2">Tipo:</label>
			<div class="col-sm-5">
				<select	style="width: 252px;" class="form-control" id="search2" name="search2">
					<option value="0">SELECIONE O TIPO</option>
					<?php
						while ( $row = $queryTipo->fetch () ) {
							echo '<option value="' . $row ['ci_procedimento'] . '">' . $row ['nm_procedimento'] . '</option>';
						}
					?>
				</select>
			</div>
		</div>
		<div class="form-group">
			<label class="control-label col-sm-2">Data: </label>
			<div class='col-sm-8 input-group date' id='dp-data' style="width: 152px;">
				<input type='text' class="form-control" name="search3"
					id="search2" onkeypress="mask(this, data)"
					data-format="DD/MM/YYYY" value="<?=@$_POST['search3']?>"
					maxlength="10" style="width: 219px; margin-left: 15px;" /> <span
					class="input-group-addon"><span
					class="glyphicon glyphicon-calendar"></span> </span>
			</div>
		</div>
		<div class="form-group">
			<label class="control-label col-sm-2">Trabalho:</label>
			<div class="col-sm-8">
				<input type="text" name="search4" id="search4"
					value="<?php echo @$_POST['search4']; ?>"
					class="form-control input-sm col-xs-3" />
			</div>
			<button id="btSearch" class="btn btn-success btn-sm">
				<span class="glyphicon glyphicon-search"></span> Consultar
			</button>
		</div>
	</form>
	<?php } ?>
	<?php if(!isset($_GET['form'])){ ?>
	<!-- LISTAGEM DOS REGISTROS -->
	<form method="post" id="formSearch">
		<table class="table table-striped table-bordered table-hover">
			<thead>
				<tr class="ui-widget-header">
					<th width="25" class="check"><input type="checkbox" id="btCheckAll" /></th>
					<th>PROTÉTICO</th>
					<th>PROCEDIMENTO</th>
					<th>TRABALHO</th>
					<th>DATA</th>
					<th></th>
				</tr>
			</thead>
			<tbody>
	        	<?php
		while ( $row = $query->fetch () ) {
			echo '<tr>
		            	<td class="check"><input type="checkbox" class="btCheck" name="checkdel[]" value="' . $row ['ci_trabalho'] . '"/></td>
		                <td>' . $row ['nm_profissional'] . '</td>
						<td>' . $row ['nm_procedimento'] . '</td>
		                <td>' . $row ['nm_trabalho'] . '</td>
						<td>' . $row ['dt_criacao'] . '</td>
		                <td width="30" align="center">
		                	<div onclick="window.location=\''.Util::setLink(array('form='.$row ['ci_trabalho'],'del=null')).'\';" class="btEdit ui-widget ui-helper-clearfix" title="Editar">
						    	<div class="btn btn-success btn-xs"><span class="glyphicon glyphicon-pencil"></span></div>
						    </div>
		                </td>
		        	</tr>';
		}
		?>
	        </tbody>
		</table>
	</form>
	<button id="btDel" class="btn btn-success btn-sm"
		title="Excluir selecionados">
		<span class="glyphicon glyphicon-trash"></span> Excluir
	</button>
	<?php echo $paginacao; ?>
    <?php } else{ ?>
	<!-- FORMULÁRIO DE CADASTRO -->
	<form action="<?php echo Util::setLink(array('db=1')) ?>" class="form-inline" role="form" method="post" id="formInsertEdit"
		onsubmit="return test();" enctype="multipart/form-data">
		<fieldset class="field">
			<legend class="legend">Cadastro de Trabalho</legend>
			<div class="form-group col-xs-4">
				<label for="nomeCompletoCandidato">Protético: *</label>
				<select	style="width: 252px;" class="form-control" id="ci_profissional" name="ci_profissional">
					<option value="0">SELECIONE O PROTÉTICO</option>
					<?php
						while ( $row = $queryProtetico->fetch () ) {
							$select = "";
							if(@$rowEdit['cd_profissional'] == $row ['ci_profissional']){
								$select = "selected";	
							}
							echo '<option value="' . $row ['ci_profissional'] . '" '.$select.'>' . $row ['nm_profissional'] . '</option>';
						}
					?>
				</select>
			</div>
			<div class="form-group col-xs-4">
				<label for="nomeCompletoCandidato">Tipo: *</label>
				<select	style="width: 252px;" class="form-control" id="ci_procedimento" name="ci_procedimento">
					<option value="0">SELECIONE O TIPO</option>
					<?php						
						while ( $row = $queryTipo->fetch () ) {
							$select = "";
							if(@$rowEdit['cd_procedimento'] == $row ['ci_procedimento']){
								$select = "selected";	
							}
							echo '<option value="' . $row ['ci_procedimento'] .'"  '.$select.'>' . $row ['nm_procedimento'] . '</option>';
						}
					?>
				</select>
			</div>
			<div class=" form-group col-xs-4">
				<label>Data: *</label><br />
				<div class='input-group date' id='dp-data' style="width: 152px;">
					<input type='text' class="form-control" name="dt_criacao"
						id="dt_criacao" onkeypress="mask(this, data)"
						data-format="DD/MM/YYYY" value="<?=@$rowEdit['dt_criacao']?>"
						maxlength="10" style="width: 219px;" /> <span
						class="input-group-addon"><span
						class="glyphicon glyphicon-calendar"></span> </span>
				</div>
			</div>
			<div class="form-group col-xs-8">
				<label for="documentoRG">Trabalho: *</label>
				<input type="text" class="form-control" id="nm_trabalho" name="nm_trabalho" placeholder="TRABALHOS" 
					value="<?=strtoupper(@$rowEdit['nm_trabalho']);?>"/>
			</div>
			<div class="form-group col-xs-4">
				<label for="documentoRG">Elemento(s): *</label>
				<select	style="width: 260px;" class="form-control" id="nr_elemento" name="nr_elemento">
					<option value="0">---</option>
					<?php
						for ($i = 1; $i <= 32; $i++) {
							$select = "";
							if(@$rowEdit['nr_elemento'] == $i){
								$select = "selected";	
							}
							echo '<option value="'.$i.'" '.$select.'>' .$i.' ELEMENTO(S)</option>';
						}
					?>
				</select>
			</div>
			<div class="form-group col-xs-12">
				<label for="descricao">Descrição: </label>
				<textarea class="form-control" rows="3" name="ds_descricao" id="ds_descricao">"<?=@$rowEdit['ds_descricao'];?>"</textarea>
			</div>
		</fieldset>
		<br /> <br clear="all">
		<div id="boxRowsHidden" style="display: none;"></div>
		<div align="center">
			<button class="btn btn-success btn-sm" id="btInsertEdit"
				type="submit">
				<span class="glyphicon glyphicon-floppy-disk"></span> Salvar
			</button>
		</div>
	</form>
	<?php } ?>
</div>
<div id="dialog_del" title="Aviso">
	<p>Tem certeza que deseja excluir os registros selecionados?</p>
</div>
<script type="text/javascript">
$(function(){
	$('#dp-data').datetimepicker({ language: 'pt-br', pickTime: false });
});
function test(){
	var valid = true;
	var nm_transacao = $("#nm_transacao").val();
	var nm_label = $("#nm_label").val();
	if (nm_transacao == '') {
		updateTips('O Campo Transacão está vázio');
		valid = false;
	}else if(nm_label == ''){
		updateTips('O Campo Label está vázio');
		valid = false;
	}else{
		$("#formInsertEdit").find("input").each(function(index){
			$(this).removeClass("ui-state-error");
		});
		valid = valid && checkLength('nm_transacao', 'Transação', 2);
		valid = valid && checkLength('nm_label', 'Label', 2);
	}
	return valid;
}
</script>